package com.ruoyi.selectionRecords.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 选课记录对象 uooc_course_selection
 * 
 * @author LGJ
 * @date 2025-07-08
 */
public class UoocCourseSelection extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 选课记录ID */
    private Long recordId;

    /** 课程ID */
    @Excel(name = "课程ID")
    private Long courseId;

    /** 学生ID */
    @Excel(name = "学生ID")
    private Long studentId;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String courseName;

    /** 学生姓名（冗余存储） */
    @Excel(name = "学生姓名", readConverterExp = "冗=余存储")
    private String studentName;

    /** 选课时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "选课时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date selectTime;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }

    public void setCourseId(Long courseId) 
    {
        this.courseId = courseId;
    }

    public Long getCourseId() 
    {
        return courseId;
    }

    public void setStudentId(Long studentId) 
    {
        this.studentId = studentId;
    }

    public Long getStudentId() 
    {
        return studentId;
    }

    public void setCourseName(String courseName) 
    {
        this.courseName = courseName;
    }

    public String getCourseName() 
    {
        return courseName;
    }

    public void setStudentName(String studentName) 
    {
        this.studentName = studentName;
    }

    public String getStudentName() 
    {
        return studentName;
    }

    public void setSelectTime(Date selectTime) 
    {
        this.selectTime = selectTime;
    }

    public Date getSelectTime() 
    {
        return selectTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("courseId", getCourseId())
            .append("studentId", getStudentId())
            .append("courseName", getCourseName())
            .append("studentName", getStudentName())
            .append("selectTime", getSelectTime())
            .toString();
    }
}
